const _ = require('lodash')
// 33/49
// 0.673469387755102

module.exports = (groups) => {
  const result = _.chain(groups).value()

  // 正确次数
  // .orderBy(
  //   [(group) => group.stats.correctCount],
  //   ['asc'] // 准确率: 0.6875 最大连续错误次数: 8
  // )
  // .value()
  // .orderBy(
  //   [(group) => group.stats.correctCount],
  //   ['desc'] // 准确率: 0.6802083333333333 最大连续错误次数: 8
  // )
  // .value()

  // 准确率 asc > desc
  // .orderBy(
  //   [(group) => group.stats.accuracyRate],
  //   ['asc'] // 准确率: 0.6875 最大连续错误次数: 8
  // )
  // .value()
  // .orderBy(
  //   [(group) => group.stats.maxConsecutiveIncorrect],
  //   ['desc'] // 准确率: 0.6854166666666667 最大连续错误次数: 6
  // )
  // .value()

  // 最大连续错误次数 desc > asc
  // .orderBy(
  //   [(group) => group.stats.maxConsecutiveIncorrect],
  //   ['asc'] // 准确率: 0.6729166666666667 最大连续错误次数: 8
  // )
  // .value()
  // .orderBy(
  //   [(group) => group.stats.maxConsecutiveIncorrect],
  //   ['desc'] // 准确率: 0.6854166666666667 最大连续错误次数: 6
  // )
  // .value()

  // 连续错误段数 desc > asc
  // .orderBy(
  //   [(group) => group.stats.consecutiveIncorrectSegments],
  //   ['asc'] // 准确率: 0.6770833333333334 最大连续错误次数: 6
  // )
  // .value()
  // .orderBy(
  //   [(group) => group.stats.consecutiveIncorrectSegments],
  //   ['desc'] // 准确率: 0.7020833333333333 最大连续错误次数: 6
  // )
  // .value()

  // 平均连续错误次数 desc > asc
  // .orderBy(
  //   [
  //     (group) => group.stats.avgConsecutiveIncorrect
  //   ],
  //   ['asc'] // 准确率: 0.6833333333333333 最大连续错误次数: 6
  // )
  // .value()
  // .orderBy(
  //   [
  //     (group) => group.stats.avgConsecutiveIncorrect
  //   ],
  //   ['desc'] // 准确率: 0.690625 最大连续错误次数: 6
  // )
  // .value()

  // 当前连续错误次数 desc > asc
  // .orderBy(
  //   [
  //     (group) => group.stats.currentConsecutiveIncorrect
  //   ],
  //   ['asc'] // 准确率: 0.6854166666666667  最大连续错误次数: 6
  // )
  // .value()
  // .orderBy(
  //   [
  //     (group) => group.stats.currentConsecutiveIncorrect
  //   ],
  //   ['desc'] // 准确率: 0.690625 最大连续错误次数: 6
  // )
  // .value()

  return result
}
